#include <iostream>
#include <type_traits>
#include <typeinfo>

using namespace std;

template <typename T>
T max(T a, T b)
{
    return b < a ? a : b;
}
#define DO_DEBUG
#ifdef DO_DEBUG
#define debug(x) std::cout << x << "\n"
#else // 不定义的话 什么也不发生 空语句
#define debug(x)
#endif
int main()
{
    cout << typeid(common_type_t<int, long, double>).name() << "\n";
    cout << max(2, 3) << "\t";
    debug("hello");
    return 0;
}